#include <iostream>

/**
 * 语法（自己定义命名空间方法）
 * 1. 关键字 namespace
 * 2. 命名空间名称
 * 3. 花括号
 * 
 * 使用用法
 * 1. 使用 std 命名空间：using namespace std;
 * 2. 指定命名空间 std::cout
 * 
 * 使用原则
 * 1. 在头文件中尽量不声明命名空间，在 .cpp 文件中声明使用
 * 
 * 作用
 * 1. 可以将自定义的变量、函数、类等等放在自定义的命名空间内
 * 2. 可以防止多人协作时命名冲突
*/
namespace ns1 
{
    int a = 10;

}

namespace ns2
{
    int a = 7;

}

// 1. 先声明，再使用
using namespace std;

int main()
{
    cout << "hello world" << endl;

    // 2. 指定命名空间
    // std::cout << "hello world" << std::endl;

    cout << "ns1::a = " << ns1::a << ", " << "ns2::a = " << ns2::a << endl;
    return 0;
}